GN
=GREAT NEWS: Evolutionary Design Explained= Preface This work is the outcome of my PhD. Studies and a further twenty two years of self study and experience. It is the First Time I have tried to delineate my thoughts in a single coherent form. What is being presented are designs that have been arrived at through many iterations with some successes but many many more failures. Foreword In the current climate of Business Computing the above hypothesis is anethema to perceived wisdom for IT systems. It is the antithesis of current software development in Information Technology. It contains the antithesis of the cloud. It calls for design over convention. It is generally believed that in the Business World: * It is possible to separate the development of software from hardware * Objects can have split personalities with: ** Different parts of an object split across a system. ** Object clones having divergent histories. * That we can run business applications in the Cloud. * That we can ignore time and build non-determinism into operating systems. It is easily observed that Clouds are huge Energy consumers, in fact energy consumption is the major limiting factor in data centres. Also the Cloud increases the Noise in an information system. The Cloud will burst. Evolutionary Design is a collection of blueprints for building Evolutionary Computers based on and inspired by Sun Microsystem's NeWS (Network extensible Windowing System), Ivor Catt's Kernel Logic Machine and The Theory of Concurrency. GREAT NEWS is the umbrella for Evolutionary Design. GREAT NEWS is an acronym for: * G'uaranteed * '''R'eliable * 'E'fficient * 'A'ffordable * 'T'estable * 'N'etwork * 'E'xtensible * 'W'orkflow and 'W'indowing * 'S'ystems Every one of these terms is important in understanding GREAT NEWS. To build a GREAT NEWS system it is necessary to prove: '''An Affordable Evolutionary Computer can be built in finite time. This is a mathematical statement and it can be proved using an existential proof. An existential proof requires only one instance. If this proof is complete then we can state categorically: : \vDash \!\, \exist \; p : p \in \mathrm{Affordable \;\; Evolutionary \;\; Computers} Addressing Business * Banking * Finance * Business * Education * Military * Life * Entertainment * Telecommunications Glossary This Glossary forms the basis for the Universal Language of Evolutionary Design. Precision in language is crucial for the Clarity of Ideas. However no matter how precise a language is it is the Behaviour that it causes that is Most Important. Black: Not White. Blueprint: A design that can be used as a reference point in construction projetcs. Actuator: A Processor presenting the Image IActuator. Algebra: A System of Transformations that preserves Entropy. Algebraic Systems are non-destructive. Apoptosis: Apoptosis is a multi-step, multi-pathway cell-death programme that is inherent in every cell of the body. Bit: A measure of Information in the Binary System. A Bit is the smallest unit of information. Broadcast: Transmission of an update message. Carrier: The medium for message transportation. Closed System: Any system that cannot fully observe itself. In a closed system there are not enough names to describe everything. Computer: A Mechanical Algebraic Machine. Context: The immediate environment around an Image. Data: Information without Entropy. Entropy can be assigned when Data is in Context. Digit: A measure of Information in the Decimal System. A Decimal Unit. Discourse. Written, spoken, visual or tactile communication. Eager Queue Protocol: A queue that kills unresponsive members. Entropy: A Measure of Randomness. The higher the Entropy of a system the more Random the System is. EQP: See Eager Queue Protocol Evolutionary Design: Design based on continuous failure and faulty components. Excite: Request a response. The release of a request message. Gate: A processor presenting the Image IGate. A gate is either Open or Closed. IActuator: The Image an actuator presents to its environment. IMachine: A Robot. The Image a robot presents to its environment. Image: The Universal Type. Input: A process that is homomorphic with the Image ISensor. ISensor: The Image a sensor presents to its environment. Isolation: The lack of meaningful discourse with others. Machine: An Artifical Creation of Mankind. Mathematics: The most abstract and precise form of Reasoning available to Mankind. Message: An image in motion. Missile: A machine with One Objective. Model: An Image that satisfies all of the Sentences of a language. No Nonsense: Correction of sense nonsense discrepancies. Nonsense: A check on sense. Not: A processor implementing the Image IInvert. Omega: The Universal Image ( \Omega ). \Omega contains every other image infinitely often in every sequence infinitely often. One: Output: A process that is homomorphic with the Image IActuator. Photon: The smallest message carrier. Processor: The Foundation of all Concrete Objects. An Active Processor can Peek other Active or Passive Processors. Passive Processors cannot Peek. Proof: The Unique Characteristic Behaviour of Mathematics. No Other System available to Mankind contains a valid implementation of Proof. Relax: Accept a request. The acceptance of a request message. Robot: A processor presenting the Image IMachine. Secret: The intentional lack of discourse on a subject with others. Internal discourse on a subject with oneself. Sense: The correct interpretation of an image (often a message). Sensor: A processor presenting the Image ISensor. Solo: Going it alone. Sound: In mathematical logic, a logical system has the soundness property if and only if its inference rules prove only formulas that are valid with respect to its semantics. (Need an interpretation in terms of Algebraic Model Theory). Support: The backing of others. Transport: A method for moving messages. Universal Language: The Language used in Evolutionary Design. White: Not Black. Z': The complex plane. The Universal type. See Omega. A Catalogue of Blueprints SNNN: Sense, Nonsense, No Nonsense For the general case by definition we have: : \begin{array}{rcl} S & = & \lambda f . \lambda g . \lambda x . f \; x \; ( g \; x ) \\ \\ S N (N N) X & = & N \; X \; ( ( N N ) \; X ) \end{array} Reversible Processes Designing Scalable Systems The most important attribute for a component of a scalable system is that the component is reliable. If we have a very large system of the order of 10^{14} components then if the components are reliable all we need to know of a component is whether it is communicatiing or not. A component that does not '??communicate!! is KILLED!! and replaced. A component that loses communication with its environment KILLS itself. Principles of Scalable System Design Scalable systems are designed or evolved in the field. * Never delay a decision. * Time is against you. * Don't log success. * Be as quiet as possible, i.e. don't generate noise. ** Be careful not to get killed!! * Fail Fast * Resolve issues locally ** In both space and time. * Only talk to your neighbours. * View exceptions as noise. * Don't permit NULLs. * Don't type cast. NOTE: * Logging breaks encapsulation. * Strong Typing kills adaptability. * Strong typing does not improve reliability. * Code standards are irrelevant in the field. TEA: Trusted Evolutionary Architectures In building an evolutionary computer there are three prerequisites: * Theory * Education * Architecture If an evolutionary computer is to be built we need to trust it. With this in mind we narrow our focus to Trusted Evolutionary Architectures. TEA Theory TEA Education TEA Architecture * Eager Queue Protocols * Flat Processor Networks EQP: Eager Queue Protocols This is a short overview of Eager Queue Protocols. The presentation Eager Queue Protocols is a detailed introduction to EQP. Closed Systems Any closed system has the following structure. The Charcters have the following definitions: : \begin{array}{rcl} \mathrm{E} & \equiv & \mathrm{Environment} \\ \mathrm{O} & \equiv & \mathrm{Observer} \\ \mathrm{U} & \equiv & \mathrm{Universe} \\ \mathrm{A} & \equiv & \mathrm{Action} \\ \mathrm{I} & \equiv & \mathrm{Image} \end{array} Sense Boundary Experience Memory Designing Reliable Fault Tolerant Systems See: Making the Most of a Bad Lot. Peek, Poke, Processor Base and a Rod Rods and Neurons Increasing Reliabilty: 1 in a Million to 1 ina Billion Feed Back and Feed Forward * Analog systems run close to the speed of light. * Clocked (gated) digital system always run late. * Unclocked (asynchronous) digital systems can be treated like analog systems. ** Inverter gates will oscillate if allowed to. One use of feedback in analog circuits is to compensate for component aging. Digital software does not age. Software does not fail or more accurately software does not age. Feedback does not improve semantic errors in software systems, in fact it degrades performance, feed forward cross checking is required to compensate for programmer error. Unclocked digital systems are veru difficult to design due to race conditions etc. A mid point between unclocked and clocked systems is self clocking systems that use pull and push control mechanisms. Impedance In an analog computer impedance is a physical phenomenom. In a clocked digital computer impedance is an imaginary phenomenom. A Critical Analysis of The Principles of Object Oriented Design SRP: Single Responsibility Principle A class should have one reason to change. If an object has more than one input method (i.e. it can be Poked in more than one way) it has more than one reason to change. OCP: The Open-Closed Principle LSP: The Liskov Substitution Principle Discussion of this principle is very funny. DIP: The Dependency Inversion Principle ISP: The Interface Segregation Principle REP: The Release-Reuse Equivalency Principle CCP: The Common Closure Principle CRP: The Common Reuse Principle ADP: The Acyclic Dependencies Principle SDP: The Stable Dependencies Principle SAP: The Stable Abstraction Principle A Critique of Pair Programming Two Minds Beating As One? Familiarity Breads Consent Pair Programming Favours Clones What Does a Mock Mock? Challenge, Response, Check - Three Minds - One On One On One Trees, Woods and Forests =Guarantee= The Dividends of using these Blueprints are massive. No Company will fail that builds a trusted evolutionary computer. If you have problems with these Blueprints please contact the Creator if he is available otherwise seek help elsewhere. --JasonCozens 13:25, February 1, 2012 (UTC) ---- ---- =Licence= This work is licenced under the Copyright Left In Tact licence. ---- ----